* Step 1: Bounds WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3)) U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3)) U12(mark(X1),X2,X3) -> mark(U12(X1,X2,X3)) U12(ok(X1),ok(X2),ok(X3)) -> ok(U12(X1,X2,X3)) U21(mark(X1),X2) -> mark(U21(X1,X2)) U21(ok(X1),ok(X2)) -> ok(U21(X1,X2)) U22(mark(X1),X2) -> mark(U22(X1,X2)) U22(ok(X1),ok(X2)) -> ok(U22(X1,X2)) U31(mark(X1),X2) -> mark(U31(X1,X2)) U31(ok(X1),ok(X2)) -> ok(U31(X1,X2)) U32(mark(X1),X2) -> mark(U32(X1,X2)) U32(ok(X1),ok(X2)) -> ok(U32(X1,X2)) U41(mark(X1),X2,X3) -> mark(U41(X1,X2,X3)) U41(ok(X1),ok(X2),ok(X3)) -> ok(U41(X1,X2,X3)) U42(mark(X1),X2,X3) -> mark(U42(X1,X2,X3)) U42(ok(X1),ok(X2),ok(X3)) -> ok(U42(X1,X2,X3)) U51(mark(X1),X2) -> mark(U51(X1,X2)) U51(ok(X1),ok(X2)) -> ok(U51(X1,X2)) U52(mark(X1),X2) -> mark(U52(X1,X2)) U52(ok(X1),ok(X2)) -> ok(U52(X1,X2)) U61(mark(X1),X2,X3,X4) -> mark(U61(X1,X2,X3,X4)) U61(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U61(X1,X2,X3,X4)) U62(mark(X1),X2,X3,X4) -> mark(U62(X1,X2,X3,X4)) U62(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U62(X1,X2,X3,X4)) U63(mark(X1),X2,X3,X4) -> mark(U63(X1,X2,X3,X4)) U63(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U63(X1,X2,X3,X4)) U64(mark(X1),X2) -> mark(U64(X1,X2)) U64(ok(X1),ok(X2)) -> ok(U64(X1,X2)) U71(mark(X1),X2) -> mark(U71(X1,X2)) U71(ok(X1),ok(X2)) -> ok(U71(X1,X2)) U72(mark(X1),X2) -> mark(U72(X1,X2)) U72(ok(X1),ok(X2)) -> ok(U72(X1,X2)) U81(mark(X1),X2,X3) -> mark(U81(X1,X2,X3)) U81(ok(X1),ok(X2),ok(X3)) -> ok(U81(X1,X2,X3)) U82(mark(X1),X2,X3) -> mark(U82(X1,X2,X3)) U82(ok(X1),ok(X2),ok(X3)) -> ok(U82(X1,X2,X3)) afterNth(X1,mark(X2)) -> mark(afterNth(X1,X2)) afterNth(mark(X1),X2) -> mark(afterNth(X1,X2)) afterNth(ok(X1),ok(X2)) -> ok(afterNth(X1,X2)) cons(mark(X1),X2) -> mark(cons(X1,X2)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) fst(mark(X)) -> mark(fst(X)) fst(ok(X)) -> ok(fst(X)) head(mark(X)) -> mark(head(X)) head(ok(X)) -> ok(head(X)) natsFrom(mark(X)) -> mark(natsFrom(X)) natsFrom(ok(X)) -> ok(natsFrom(X)) pair(X1,mark(X2)) -> mark(pair(X1,X2)) pair(mark(X1),X2) -> mark(pair(X1,X2)) pair(ok(X1),ok(X2)) -> ok(pair(X1,X2)) proper(0()) -> ok(0()) proper(nil()) -> ok(nil()) proper(tt()) -> ok(tt()) s(mark(X)) -> mark(s(X)) s(ok(X)) -> ok(s(X)) sel(X1,mark(X2)) -> mark(sel(X1,X2)) sel(mark(X1),X2) -> mark(sel(X1,X2)) sel(ok(X1),ok(X2)) -> ok(sel(X1,X2)) snd(mark(X)) -> mark(snd(X)) snd(ok(X)) -> ok(snd(X)) splitAt(X1,mark(X2)) -> mark(splitAt(X1,X2)) splitAt(mark(X1),X2) -> mark(splitAt(X1,X2)) splitAt(ok(X1),ok(X2)) -> ok(splitAt(X1,X2)) tail(mark(X)) -> mark(tail(X)) tail(ok(X)) -> ok(tail(X)) take(X1,mark(X2)) -> mark(take(X1,X2)) take(mark(X1),X2) -> mark(take(X1,X2)) take(ok(X1),ok(X2)) -> ok(take(X1,X2)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) - Signature: {U11/3,U12/3,U21/2,U22/2,U31/2,U32/2,U41/3,U42/3,U51/2,U52/2,U61/4,U62/4,U63/4,U64/2,U71/2,U72/2,U81/3,U82/3 ,afterNth/2,cons/2,fst/1,head/1,natsFrom/1,pair/2,proper/1,s/1,sel/2,snd/1,splitAt/2,tail/1,take/2 ,top/1} / {0/0,active/1,mark/1,nil/0,ok/1,tt/0} - Obligation: innermost runtime complexity wrt. defined symbols {U11,U12,U21,U22,U31,U32,U41,U42,U51,U52,U61,U62,U63,U64 ,U71,U72,U81,U82,afterNth,cons,fst,head,natsFrom,pair,proper,s,sel,snd,splitAt,tail,take ,top} and constructors {0,active,mark,nil,ok,tt} + Applied Processor: Bounds {initialAutomaton = minimal, enrichment = match} + Details: The problem is match-bounded by 2. The enriched problem is compatible with follwoing automaton. 0_0() -> 2 0_1() -> 3 U11_0(2,2,2) -> 1 U11_1(2,2,2) -> 3 U12_0(2,2,2) -> 1 U12_1(2,2,2) -> 3 U21_0(2,2) -> 1 U21_1(2,2) -> 3 U22_0(2,2) -> 1 U22_1(2,2) -> 3 U31_0(2,2) -> 1 U31_1(2,2) -> 3 U32_0(2,2) -> 1 U32_1(2,2) -> 3 U41_0(2,2,2) -> 1 U41_1(2,2,2) -> 3 U42_0(2,2,2) -> 1 U42_1(2,2,2) -> 3 U51_0(2,2) -> 1 U51_1(2,2) -> 3 U52_0(2,2) -> 1 U52_1(2,2) -> 3 U61_0(2,2,2,2) -> 1 U61_1(2,2,2,2) -> 3 U62_0(2,2,2,2) -> 1 U62_1(2,2,2,2) -> 3 U63_0(2,2,2,2) -> 1 U63_1(2,2,2,2) -> 3 U64_0(2,2) -> 1 U64_1(2,2) -> 3 U71_0(2,2) -> 1 U71_1(2,2) -> 3 U72_0(2,2) -> 1 U72_1(2,2) -> 3 U81_0(2,2,2) -> 1 U81_1(2,2,2) -> 3 U82_0(2,2,2) -> 1 U82_1(2,2,2) -> 3 active_0(2) -> 2 active_1(2) -> 4 active_2(3) -> 5 afterNth_0(2,2) -> 1 afterNth_1(2,2) -> 3 cons_0(2,2) -> 1 cons_1(2,2) -> 3 fst_0(2) -> 1 fst_1(2) -> 3 head_0(2) -> 1 head_1(2) -> 3 mark_0(2) -> 2 mark_1(3) -> 1 mark_1(3) -> 3 natsFrom_0(2) -> 1 natsFrom_1(2) -> 3 nil_0() -> 2 nil_1() -> 3 ok_0(2) -> 2 ok_1(3) -> 1 ok_1(3) -> 3 ok_1(3) -> 4 pair_0(2,2) -> 1 pair_1(2,2) -> 3 proper_0(2) -> 1 proper_1(2) -> 4 s_0(2) -> 1 s_1(2) -> 3 sel_0(2,2) -> 1 sel_1(2,2) -> 3 snd_0(2) -> 1 snd_1(2) -> 3 splitAt_0(2,2) -> 1 splitAt_1(2,2) -> 3 tail_0(2) -> 1 tail_1(2) -> 3 take_0(2,2) -> 1 take_1(2,2) -> 3 top_0(2) -> 1 top_1(4) -> 1 top_2(5) -> 1 tt_0() -> 2 tt_1() -> 3 * Step 2: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3)) U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3)) U12(mark(X1),X2,X3) -> mark(U12(X1,X2,X3)) U12(ok(X1),ok(X2),ok(X3)) -> ok(U12(X1,X2,X3)) U21(mark(X1),X2) -> mark(U21(X1,X2)) U21(ok(X1),ok(X2)) -> ok(U21(X1,X2)) U22(mark(X1),X2) -> mark(U22(X1,X2)) U22(ok(X1),ok(X2)) -> ok(U22(X1,X2)) U31(mark(X1),X2) -> mark(U31(X1,X2)) U31(ok(X1),ok(X2)) -> ok(U31(X1,X2)) U32(mark(X1),X2) -> mark(U32(X1,X2)) U32(ok(X1),ok(X2)) -> ok(U32(X1,X2)) U41(mark(X1),X2,X3) -> mark(U41(X1,X2,X3)) U41(ok(X1),ok(X2),ok(X3)) -> ok(U41(X1,X2,X3)) U42(mark(X1),X2,X3) -> mark(U42(X1,X2,X3)) U42(ok(X1),ok(X2),ok(X3)) -> ok(U42(X1,X2,X3)) U51(mark(X1),X2) -> mark(U51(X1,X2)) U51(ok(X1),ok(X2)) -> ok(U51(X1,X2)) U52(mark(X1),X2) -> mark(U52(X1,X2)) U52(ok(X1),ok(X2)) -> ok(U52(X1,X2)) U61(mark(X1),X2,X3,X4) -> mark(U61(X1,X2,X3,X4)) U61(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U61(X1,X2,X3,X4)) U62(mark(X1),X2,X3,X4) -> mark(U62(X1,X2,X3,X4)) U62(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U62(X1,X2,X3,X4)) U63(mark(X1),X2,X3,X4) -> mark(U63(X1,X2,X3,X4)) U63(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U63(X1,X2,X3,X4)) U64(mark(X1),X2) -> mark(U64(X1,X2)) U64(ok(X1),ok(X2)) -> ok(U64(X1,X2)) U71(mark(X1),X2) -> mark(U71(X1,X2)) U71(ok(X1),ok(X2)) -> ok(U71(X1,X2)) U72(mark(X1),X2) -> mark(U72(X1,X2)) U72(ok(X1),ok(X2)) -> ok(U72(X1,X2)) U81(mark(X1),X2,X3) -> mark(U81(X1,X2,X3)) U81(ok(X1),ok(X2),ok(X3)) -> ok(U81(X1,X2,X3)) U82(mark(X1),X2,X3) -> mark(U82(X1,X2,X3)) U82(ok(X1),ok(X2),ok(X3)) -> ok(U82(X1,X2,X3)) afterNth(X1,mark(X2)) -> mark(afterNth(X1,X2)) afterNth(mark(X1),X2) -> mark(afterNth(X1,X2)) afterNth(ok(X1),ok(X2)) -> ok(afterNth(X1,X2)) cons(mark(X1),X2) -> mark(cons(X1,X2)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) fst(mark(X)) -> mark(fst(X)) fst(ok(X)) -> ok(fst(X)) head(mark(X)) -> mark(head(X)) head(ok(X)) -> ok(head(X)) natsFrom(mark(X)) -> mark(natsFrom(X)) natsFrom(ok(X)) -> ok(natsFrom(X)) pair(X1,mark(X2)) -> mark(pair(X1,X2)) pair(mark(X1),X2) -> mark(pair(X1,X2)) pair(ok(X1),ok(X2)) -> ok(pair(X1,X2)) proper(0()) -> ok(0()) proper(nil()) -> ok(nil()) proper(tt()) -> ok(tt()) s(mark(X)) -> mark(s(X)) s(ok(X)) -> ok(s(X)) sel(X1,mark(X2)) -> mark(sel(X1,X2)) sel(mark(X1),X2) -> mark(sel(X1,X2)) sel(ok(X1),ok(X2)) -> ok(sel(X1,X2)) snd(mark(X)) -> mark(snd(X)) snd(ok(X)) -> ok(snd(X)) splitAt(X1,mark(X2)) -> mark(splitAt(X1,X2)) splitAt(mark(X1),X2) -> mark(splitAt(X1,X2)) splitAt(ok(X1),ok(X2)) -> ok(splitAt(X1,X2)) tail(mark(X)) -> mark(tail(X)) tail(ok(X)) -> ok(tail(X)) take(X1,mark(X2)) -> mark(take(X1,X2)) take(mark(X1),X2) -> mark(take(X1,X2)) take(ok(X1),ok(X2)) -> ok(take(X1,X2)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) - Signature: {U11/3,U12/3,U21/2,U22/2,U31/2,U32/2,U41/3,U42/3,U51/2,U52/2,U61/4,U62/4,U63/4,U64/2,U71/2,U72/2,U81/3,U82/3 ,afterNth/2,cons/2,fst/1,head/1,natsFrom/1,pair/2,proper/1,s/1,sel/2,snd/1,splitAt/2,tail/1,take/2 ,top/1} / {0/0,active/1,mark/1,nil/0,ok/1,tt/0} - Obligation: innermost runtime complexity wrt. defined symbols {U11,U12,U21,U22,U31,U32,U41,U42,U51,U52,U61,U62,U63,U64 ,U71,U72,U81,U82,afterNth,cons,fst,head,natsFrom,pair,proper,s,sel,snd,splitAt,tail,take ,top} and constructors {0,active,mark,nil,ok,tt} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^1))